A number of systems and programs are offered on the market for the design, the engineering and the manufacturing of objects. CAD is an acronym for Computer-Aided Design, e.g. it relates to software solutions for designing an object. CAE is an acronym for Computer-Aided Engineering, e.g. it relates to software solutions for simulating the physical behavior of a future product. CAM is an acronym for Computer-Aided Manufacturing, e.g. it relates to software solutions for defining manufacturing processes and operations. In such computer-aided design systems, the graphical user interface plays an important role as regards the efficiency of the technique. These techniques may be embedded within Product Lifecycle Management (PLM) systems. PLM refers to a business strategy that helps companies to share product data, apply common processes, and leverage corporate knowledge for the development of products from conception to the end of their life, across the concept of extended enterprise. The PLM solutions provided by Dassault Systèmes (under the trademarks CATIA, ENOVIA and DELMIA) provide an Engineering Hub, which organizes product engineering knowledge, a Manufacturing Hub, which manages manufacturing engineering knowledge, and an Enterprise Hub which enables enterprise integrations and connections into both the Engineering and Manufacturing Hubs. All together the system delivers an open object model linking products, processes, resources to enable dynamic, knowledge-based product creation and decision support that drives optimized product definition, manufacturing preparation, production and service.
Existing technologies allow solid modeling by using a B-Rep modeling CAD system (as opposed to a history-based CAD system). Thus, most commercial CAD systems provide some B-Rep modeling capability. Representative examples are Dassault Systèmes with CATIA Natural Shape, Siemens with Solid Edge Synchronous Technology, and Parametric Technology Corp. with PTC Creo (all registered trademarks). In such systems and in such modeling functionality, the input object is the boundary representation of a solid. There is no associated history (or it cannot be easily used). A typical B-Rep modeling operation is then for the user to select a face and to move it by using the mouse cursor. After the motion is ended, the user releases the mouse button and the system updates the shape of the solid according to the new position of the face. This update is performed by extrapolating and trimming neighboring faces so that the result is a closed and oriented skin. Moving a face of a solid in the direction of its outer normal vector adds material to the solid, as illustrated in FIG. 1. Moving a face in the opposite direction removes material to the solid, as illustrated in FIG. 2.
When the user wants to select a single face and move it along a small distance, there is no specific difficulty in performing the update and in the user-machine interaction. Issues however arise when a user wants to perform complex designs, involving multiple faces and/or relatively large distances. This is due to a well-known behavior of B-Rep modeling: the eraser side effect. A detail of the solid that is deleted by pulling a face is not restored by performing the reverse pushing operation, as illustrated in FIG. 3. In the example shown on FIG. 3, in a first step the user pulls the vertical face so that the cylindrical slot is overlapped by the thicken wall. Then in a second step the user pushes the vertical face back to its initial position. As can be seen, the cylindrical slot is definitely lost. This behavior proves to be an issue when the user wants to perform complex design operations unrelated to the detail, such as the tweaking design operation. For such an operation, as explained in the book by Ian Stroud and Hildegarde Nagy and entitled Solid Modelling and CAD Systems (Springer 2011), existing systems require many cumbersome tests and experiments before they can be used by industrial designers. Indeed, a first drawback is that the user needs to make the modification by selecting one face at a time, which requires a long design time. Furthermore, because of the eraser side effect, the user can unintentionally delete important details of the solid. Such details must be designed once again, which is a waste of time.
Within this context, there is a need for improving the ergonomics of B-Rep modeling functionalities of CAD systems.